#include "widget.h"
#include <QPushButton>
#include <QDebug>


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    tea = new Teacher(this);
    stu = new Student(this);

    // 信号与槽
    // 观察者模式
    // 通过connect函数将 被观察者，信号，接收方，处理函数 关联起来

    QPushButton* button = new QPushButton("关闭窗口",this);
    this->resize(600,400);

    // // 关联信号与槽
    // // 因为创建了有参的信号和有参的槽函数，所以得通过函数指针先拿到信号和函数
    // void (Teacher::*teachersignal)(QString)=&Teacher::hungry;
    // void (Student::*gotoeatfun)(QString)=&Student::gotoeat;
    // connect(tea,teachersignal,stu,gotoeatfun);

    // // 参数分别为：被观察着，信号消息，观察方，处理函数(槽函数)
    // connect(button,&QPushButton::clicked,this,&Widget::test);


    connect(button,&QPushButton::clicked,this,[](){qDebug()<<"test lambda";});
}

Widget::~Widget() {}

void Widget::test()
{
    emit tea->hungry("i want eat");
}
